TABLE OF CONTENTS

Palette.mui/Palette.mui
Palette.mui/MUIA_Palette_Entries
Palette.mui/MUIA_Palette_Groupable
Palette.mui/MUIA_Palette_Names
Palette.mui/Palette.mui

	Palette class generates a (big) group of objects, alltogether
	making up a powerful palette requester. Due to the new color
	selection schemes of Kickstart 3.x, you won't get a "traditional"
	palette requester with 2^n fields to fill in. These things
	really stop making sense on nice 256 or true color screens.

	Instead, MUI's palette class allows defining a list of colors
	that the user should be able to adjust. Within a public screen
	manager, this would e.g. be the DrawInfo pens for a specific
	screen, within a terminal program maybe the eight ANSI colors.

	Palette class uses a listview to let the user choose the
	desired color, a coloradjust object to adjust this color
	and a colorfield object that always shows the current color.

	The user will also be able to concatenate several colors
	in the list, defining a single color for several entries.
Palette.mui/MUIA_Palette_Entries

    NAME
	MUIA_Palette_Entries -- (V6 ) [I.G], struct MUI_Palette_Entry *

    FUNCTION
	Specify the colors that the user should be able to adjust
	with this palette object.

	You supply an array of MUI_Palette_Structures here, each
	entry defining one color:

	struct MUI_Palette_Entry
	{
	   LONG  mpe_ID;
	   ULONG mpe_Red;
	   ULONG mpe_Green;
	   ULONG mpe_Blue;
	   LONG  mpe_Group;
	};

	mpe_ID   :  This entry is not used by palette class, you can
	            put in whatever you want, except the value
	            MUIV_Palette_Entry_End (==-1),
	            which terminates the array.

	mpe_Red  :  32-bit red component of the current color. This
	            field will be changed by palette class whenever
	            the user edits the color.

	mpe_Green:  32-bit green component of the current color. This
	            field will be changed by palette class whenever
	            the user edits the color.

	mpe_Blue :  32-bit blue component of the current color. This
	            field will be changed by palette class whenever
	            the user edits the color.

        mpe_Group:  Entries with the same mpe_Group value are
	            concatenated. Whenever a new color in the
	            listview is selected, all other colors with
	            the same mpe_Group get selected as well and
	            get adjusted all at once.
	            Entry concatenation can be changed by the user,
	            as long as you don't disable this feature with 
	            the MUIA_Palette_Groupable attribute.

    EXAMPLE

	static struct MUI_Palette_Entry SystemDefaultPalette[] =
	{
	   { TEXTPEN         ,0x00000000,0x00000000,0x00000000,0 },
	   { SHINEPEN        ,0xffffffff,0xffffffff,0xffffffff,1 },
	   { SHADOWPEN       ,0x00000000,0x00000000,0x00000000,0 },
	   { FILLPEN         ,0x66666666,0x88888888,0xbbbbbbbb,2 },
	   { FILLTEXTPEN     ,0xffffffff,0xffffffff,0xffffffff,1 },
	   { BACKGROUNDPEN   ,0xaaaaaaaa,0xaaaaaaaa,0xaaaaaaaa,3 },
	   { HIGHLIGHTTEXTPEN,0xffffffff,0xffffffff,0xffffffff,1 },
	   { BARDETAILPEN    ,0x00000000,0x00000000,0x00000000,0 },
	   { BARBLOCKPEN     ,0xffffffff,0xffffffff,0xffffffff,1 },
	   { BARTRIMPEN      ,0x00000000,0x00000000,0x00000000,0 },
	   { MUIV_Palette_Entry_End,0,0,0,0 },
	};

   SEE ALSO
	MUIA_Palette_Names
Palette.mui/MUIA_Palette_Groupable

    NAME
	MUIA_Palette_Groupable -- (V6 ) [ISG], BOOL

    FUNCTION
	Enables/disables palette color grouping.
	Defaults to TRUE.

    SEE ALSO
	MUIA_Palette_Entries
Palette.mui/MUIA_Palette_Names

    NAME
	MUIA_Palette_Names -- (V6 ) [ISG], char **

    FUNCTION
	Specify the names of a palette objects color entries.
	Without names, the color listview just displays
	"Color " for each entry. If you supply an array
	of names here, they are displayed instead. The
	names array must have as many entries as the
	array of MUIA_Palette_Entry structures (without
	its terminator).

    EXAMPLE

	static struct MUI_Palette_Entry ColorEntries[] =
	{
	   { TEXTPEN         ,0x00000000,0x00000000,0x00000000,2 },
	   { SHINEPEN        ,0xffffffff,0xffffffff,0xffffffff,4 },
	   { SHADOWPEN       ,0x00000000,0x00000000,0x00000000,5 },
	   { FILLPEN         ,0x66666666,0x88888888,0xbbbbbbbb,3 },
	   { FILLTEXTPEN     ,0xffffffff,0xffffffff,0xffffffff,6 },
	   { BACKGROUNDPEN   ,0x00000000,0x00000000,0x00000000,7 },
	   { HIGHLIGHTTEXTPEN,0xffffffff,0xffffffff,0xffffffff,8 },
	   { BARDETAILPEN    ,0x00000000,0x00000000,0x00000000,9 },
	   { BARBLOCKPEN     ,0xffffffff,0xffffffff,0xffffffff,1 },
	   { BARTRIMPEN      ,0x00000000,0x00000000,0x00000000,0 },
	   { MUIV_Palette_Entry_End,0,0,0,0 },
	};

	static const char *ColorNames[] =
	{
	   "Text"                ,
	   "Bright Edges"        ,
	   "Dark Edges"          ,
	   "Active Window Bars"  ,
	   "Active Window Titles",
	   "Background"          ,
	   "Important Text"      ,
	   "Menu Text"           ,
	   "Menu Background"     ,
	   "Menu Line"
	};

	po = PaletteObject,
	   MUIA_Palette_Entries, ColorEntries,
	   MUIA_Palette_Names  , ColorNames,
	   End;

    SEE ALSO
	MUIA_Palette_Entries